import Vue from 'vue';
import {
  Toast
} from 'vant';
Vue.use(Toast);
// 导入store
import store from '../store'
import axios from "axios";

// 接口环境: 开发环境、测试环境、生产环境
let env = 'dev'; // 环境变量
let baseURL = '';

if (env == '') {
  // dev测试环境 dev
  baseURL = 'http://localhost:8888/api';
} else if (env === 'test') {
  // 测试环境 test
  baseURL = 'http://87.65.4.1:3003';
} else {
  // 生产环境 prod
  baseURL = 'http://43.136.85.99:3003';
}


const service = axios.create({
  baseURL: baseURL,
  timeout: 50000, // 请求超时时间(因为需要调试后台,所以设置得比较大)
});

// request  请求拦截器
service.interceptors.request.use(
  (config) => {
    // 打开loading
    Toast.loading({
      message: '加载中...',
      forbidClick: true,
      loadingType: 'spinner',
    });
    // 请求头添加token
    config.headers["user-token"] = store.state.token;
    return config;
  },
  (error) => {
    Toast.fail(res.msg);
  }
);

// response 响应拦截器
service.interceptors.response.use(
  (res) => {
    // 关闭loading
    Toast.clear();
    // const res = response.data;
    if (res.data.code == 666) {
      return res.data;
    } else {
      Toast.fail(res.data.msg);
    }
  },
  (error) => {
    // 关闭loading
    Toast.clear();
    console.log('错误信息:', error);
    Toast.fail('网络异常, 请稍后再试');
  }
);

export default service;